package br.com.locautowebbd.categoria;

import br.com.locautowebbd.util.RepositorioException;


public class CadastroCategoria {
	private RepositorioCategorias categorias;

	public CadastroCategoria(RepositorioCategorias rep) {
		if (rep == null) {
			throw new IllegalArgumentException("Argumento lista categorias nula");
		}
		this.categorias = rep;
	}

	public void atualizar(Categoria categoria) throws CategoriaInexistenteException,
			RepositorioException {
		categorias.atualizar(categoria);
	}

	public void inserir(Categoria novaCategoria) throws RepositorioException, CategoriaExistenteException{
            int codigo = novaCategoria.getCodigo();
		if (!categorias.existe(codigo)){
			categorias.inserir(novaCategoria);
		} else {
			throw new CategoriaExistenteException(novaCategoria.getCodigo());
		}
	}

	public void remover(int codigo) throws CategoriaInexistenteException,
			RepositorioException {
		categorias.remover(codigo);
	}

	public Categoria procurar(int codigo) throws CategoriaInexistenteException,
			RepositorioException {
		return categorias.procurar(codigo);
	}
}